import service from '@/utils/request'
import { getToken } from '@/utils/cookie'

/**
 * 获取历史会话ID列表
 * @returns {Promise} 会话ID数组
 */
export function getChatIdsService() {
  return service({
    url: "/chat/getChatIds",
    method: "get",
  });
}

/**
 * 获取指定会话的聊天记录
 * @param {string} chatId - 会话ID
 * @returns {Promise} 该会话的消息数组
 */
export function getChatHistoryService(chatId) {
  return service({
    url: "/chat/getChatHistory",
    method: "get",
    params: { chatId }, // 传递会话ID参数
  });
}

/**
 * 删除指定会话
 * @param {string} chatId - 会话ID
 * @returns {Promise} 删除结果
 */
export function deleteChatService(chatId) {
  return service({
    url: "/chat/deleteChat",
    method: "get", // 保持原请求方式，若后端支持可改为delete
    params: { chatId },
  });
}

/**
 * 流式发送聊天消息（核心交互接口）
 * @param {string} prompt - 用户输入内容
 * @param {string} chatId - 会话ID
 * @returns {Promise} 流式响应对象
 */
export function streamChatService(prompt, chatId) {
  const token = getToken()
  const headers = {
    'Accept': 'text/plain, text/html, */*',
    'Cache-Control': 'no-cache',
  }
  
  if (token) {
    headers['Authorization'] = `Bearer ${token}`
  }
  
  console.log('发送流式请求:', { prompt, chatId })
  
  return fetch(`/dev-api/chat/stream?prompt=${encodeURIComponent(prompt)}&chatId=${chatId}`, {
    method: 'GET',
    headers,
  })
}
